package org.taskexecution.taskexecution.task;

/**
 * @author Lydond
 * @description: 任务处理器接口
 * @create_date: 2025/10/20-14:46
 */
/**
 * 任务处理器统一接口
 */
public interface ITaskHandler {

    /**
     * 执行任务的业务逻辑
     * @param params (从 task_schedule.task_params 字段读取的JSON字符串)
     * @return 任务执行结果，将序列化后存入 task_execution_log.result_data
     * @throws Exception 如果执行失败，抛出异常，将被捕获并存入 error_message
     */
    Object execute(String params) throws Exception;

    /**
     * 返回此处理器唯一对应的 task_key
     * (对应 task_definition.task_key 字段)
     * @return 任务唯一标识
     */
    String getTaskKey();
}